#ifndef LOGMANAGER_H
#define LOGMANAGER_H

#include "dllspec.h"

#include <iostream>
#include <map>
#include <SFML/System.hpp>

class DLL_EXPORT LogManager
{
	public:
		static void Initialize(std::string basepath);
		static void Log(std::string logName, std::string message);

		virtual ~LogManager();
	protected:

	private:
		LogManager();
		static LogManager& GetInstance();

		std::ofstream* GetOrCreateLog(std::string logName);
		std::map<std::string, std::ofstream*> logFiles;

		bool initialized;
		std::string basePath;
		sf::Mutex ioMutex;

		//static LogManager* instance;
};

#endif // LOGMANAGER_H
